package com.itheima.provider;

import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.dubbo.config.annotation.Service;
import com.itheima.mapper.OrderSettingDao;
import com.itheima.pojo.OrderSetting;
import com.itheima.service.OrderSettingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author 司军强
 * @version 1.0.0
 * @date 2019/7/20 :20:55
 * @description
 **/

@Service(interfaceClass = OrderSettingService.class)
@Transactional
public class OrderSettingServiceImpl implements OrderSettingService {


    //属性注入 dao的对象
    @Autowired
    private OrderSettingDao orderSettingDao;


    //定义add方法
    @Override
    public void add(OrderSetting orderSetting) {
        //根据当前日期 查询 数据库中是否存在 已经设置日期

        Integer count = orderSettingDao.add(orderSetting.getOrderDate());

        if (null != count && count > 0) {
            //存在 就修改 参数传递对象 目的 sql语句中获取num 和 日期
            orderSettingDao.setOrderSetting(orderSetting);
        } else {
            //不存在 就插入日期
            orderSettingDao.insertAdd(orderSetting);

        }


    }


    //定义方法 批量导入
    @Override
    public void addUpload(ArrayList<OrderSetting> orderSettinglist) {
// 先判断 是否为空 遍历集合 得到是每一个数组对象 然后发送到数据库中
        if(CollectionUtil.isNotEmpty(orderSettinglist)){
            for (OrderSetting orderSetting : orderSettinglist) {
                //调用上面的方法
                add(orderSetting);
            }
            }

    }


    //定义一个方法 根据日期查询 将预约信息 回显
    @Override
    public List<OrderSetting> finddate(String month) {

        return  orderSettingDao.finddate(month);


    }
}
